package com.dahai.gameinfo.service;

import com.dahai.gameinfo.mapper.GameInfoMapper;
import com.dahai.gameinfo.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
public class DemoService {
    @Autowired
    private GameInfoMapper mapper;

    /**
     * 根据类型获取游戏列表
     */
    public int getListDataCount(int clazz){
        return mapper.getListDataCount(clazz);
    }

    /**
     * 根据类型获取游戏列表
     */
    public List<ListData> getListByClass(int clazz, int page){
        return mapper.getListByClassByPage(clazz, page);
    }

    /**
     * 根据类型获取游戏列表
     */
    public List<ListData> getListByClass(int clazz){
        return mapper.getListByClass(clazz);
    }

    /**
     * 获取首页数据
     */
    public List<ListData> getHome(){
        return mapper.getListByTypeContent();
    }

    /**
     * 添加游戏
     */
    @Transactional
    public void save(ListData demo) {
        mapper.save(demo);
    }

    /**
     * 获取游戏分类
     */
    public List<ListClass> getClassType(){
        return mapper.getClassType();
    }

    /**
     * 添加游戏分类
     */
    @Transactional
    public void saveCLass(ListClass clazz) {
        mapper.addClassType(clazz);
    }

    /**
     * 获取用户选择保存的游戏列表
     */
    public List<UserSelect> getUserSelectById(int userid){
        return mapper.getSelectListById(userid);
    }

    /**
     * 根据游戏id获取游戏信息，用来获取用户选择的游戏列表的详情
     */
    public List<ListData> getListById(int id){
        return mapper.getListById(id);
    }

    /**
     * 搜索
     */
    public List<ListData> searchGame(String title){
        return mapper.searchGame(title);
    }

    /**
     * 用户保存选择的游戏
     * @param clazz gameId：,1,2,3 游戏id串起来的
     */
    @Transactional
    public void saveSelect(UserSelect clazz) {
        mapper.addSelect(clazz);
    }

    /**
     * 保存用户openId
     */
    @Transactional
    public void saveOrUpdateUserInfo(Userinfo clazz) {
        mapper.insertOrUpdateUserinfo(clazz);
    }

    /**
     * 根据openId查询用户
     */
    public List<Userinfo> getUserInfo(String openid){
        return mapper.getUserinfo(openid);
    }

    /**
     * 删除游戏
     */
    public void deleteGame(int id){
        mapper.deleteGame(id);
    }

    /**
     * 添加账号
     */
    public void addLoginData(LoginData id){
        mapper.insertLoginData(id);
    }

    /**
     * 登录
     */
    public List<LoginData> login(LoginData id){
        return mapper.login(id);
    }

    /**
     * 修改token
     */
    public void updateToken(LoginData id){
        mapper.updateToken(id);
    }


    /**
     * 校验token
     */
    public List<LoginData> tokenId(int id){
        return mapper.tokenId(id);
    }

    /**
     * 获取选择的游戏
     */
    public List<UserSelect> getSelectById(int id){
        return mapper.getSelectById(id);
    }

    /**
     * 修改游戏图片链接
     */
    public void updateListData(ListData listData) {
        mapper.updateListData(listData);
    }

    public void updateGameSize(ListData listData){
        mapper.updateGameSize(listData);
    }
}
